//抽象类
export {}; //使用模块,确保跟其它示例没有成员冲突

// abstract抽象类只能被继承,不能创建实例
abstract class Animal {
  eat(food: string): void {
    console.log(`呼噜呼噜的吃${food}`);
  }
  //抽象方法--父类有抽象方法,子类必须实现这个方法
  abstract run(distance: number): void;
}

class Dog extends Animal {
  run(distance: number): void {
    console.log(`四脚爬行${distance}`);
  }
}
const d = new Dog();
d.eat("西马");
d.run(100);
